﻿//1004. 最大连续1的个数 III
//给定一个二进制数组 nums 和一个整数 k，如果可以翻转最多 k 个 0 ，则返回 数组中连续 1 的最大个数 。


class Solution {
public:
    int longestOnes(vector<int>& nums, int k)
    {
        int n = nums.size();
        int ans = 0, begin = 0, end = -1;
        int zero = 0;
        for (end = 0; end < n; end++)
        {
            if (!nums[end]) zero++;
            while (zero > k)
            {
                if (!nums[begin]) zero--;
                begin++;
            }
            ans = max(ans, end - begin + 1);
        }
        return ans;
    }
};